#!/bin/bash

# 检查 Gitee 上传准备工作

echo "🔍 检查 Gitee 上传准备工作..."
echo ""

# 1. 检查 Git 是否安装
echo "1️⃣  检查 Git 安装..."
if command -v git &> /dev/null; then
    GIT_VERSION=$(git --version)
    echo "   ✅ Git 已安装: $GIT_VERSION"
else
    echo "   ❌ Git 未安装，请先安装 Git"
    exit 1
fi
echo ""

# 2. 检查 SSH 密钥
echo "2️⃣  检查 SSH 密钥..."
if [ -f ~/.ssh/id_ed25519.pub ] || [ -f ~/.ssh/id_rsa.pub ]; then
    if [ -f ~/.ssh/id_ed25519.pub ]; then
        KEY_FILE=~/.ssh/id_ed25519.pub
    else
        KEY_FILE=~/.ssh/id_rsa.pub
    fi
    echo "   ✅ 找到 SSH 公钥: $KEY_FILE"
    echo "   📋 公钥内容（请确认已添加到 Gitee）:"
    echo "   ┌─────────────────────────────────────────"
    cat "$KEY_FILE" | sed 's/^/   │ /'
    echo "   └─────────────────────────────────────────"
else
    echo "   ⚠️  未找到 SSH 公钥"
    echo "   💡 提示: 可以运行 'ssh-keygen -t ed25519 -C \"your-email@example.com\"' 生成"
fi
echo ""

# 3. 测试 Gitee SSH 连接
echo "3️⃣  测试 Gitee SSH 连接..."
if ssh -T git@gitee.com 2>&1 | grep -q "successfully authenticated"; then
    echo "   ✅ SSH 连接成功"
elif ssh -T git@gitee.com 2>&1 | grep -q "Permission denied"; then
    echo "   ❌ SSH 连接失败: 权限被拒绝"
    echo "   💡 请确认 SSH 公钥已添加到 Gitee 账户"
else
    echo "   ⚠️  SSH 连接测试未通过"
    echo "   💡 首次连接可能需要确认主机密钥"
fi
echo ""

# 4. 检查 Git 用户配置
echo "4️⃣  检查 Git 用户配置..."
GIT_USER=$(git config user.name 2>/dev/null || echo "")
GIT_EMAIL=$(git config user.email 2>/dev/null || echo "")

if [ -n "$GIT_USER" ] && [ -n "$GIT_EMAIL" ]; then
    echo "   ✅ Git 用户已配置:"
    echo "      用户名: $GIT_USER"
    echo "      邮箱: $GIT_EMAIL"
else
    echo "   ⚠️  Git 用户信息未配置"
    echo "   💡 运行以下命令配置:"
    echo "      git config user.name \"你的名字\""
    echo "      git config user.email \"your-email@example.com\""
fi
echo ""

# 5. 检查项目 Git 状态
echo "5️⃣  检查项目 Git 状态..."
if [ -d .git ]; then
    echo "   ✅ Git 仓库已初始化"
    
    REMOTE=$(git remote get-url origin 2>/dev/null || echo "")
    if [ -n "$REMOTE" ]; then
        echo "   ✅ 远程仓库已配置: $REMOTE"
    else
        echo "   ⚠️  远程仓库未配置"
        echo "   💡 运行: git remote add origin git@gitee.com:two-songs/linkmate_old.git"
    fi
else
    echo "   ⚠️  Git 仓库未初始化"
    echo "   💡 运行: git init"
fi
echo ""

# 6. 检查 .gitignore
echo "6️⃣  检查 .gitignore..."
if [ -f .gitignore ]; then
    echo "   ✅ .gitignore 文件存在"
    if grep -q "\.env" .gitignore; then
        echo "   ✅ .env 文件已在忽略列表中（安全）"
    else
        echo "   ⚠️  .env 文件未在忽略列表中（可能包含敏感信息）"
    fi
else
    echo "   ⚠️  .gitignore 文件不存在"
fi
echo ""

# 总结
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📊 检查总结"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "如果所有检查都通过 ✅，可以运行:"
echo "  ./upload_to_gitee.sh"
echo ""
echo "如果发现问题 ⚠️，请先解决后再上传"
echo "详细说明请查看: GITEE_UPLOAD.md"
echo ""

